package com.yonyougov.devops.cruxcisupport.appenvport;

import com.yonyougov.devops.cruxcisupport.appenv.vo.port.instance.EnvAppServerInfoVo;
import com.yonyougov.devops.fwc.core.service.BaseService;

import java.math.BigInteger;
import java.util.List;

/**
 * t_app_env_port服务
 */
public interface AppEnvPortService extends BaseService<AppEnvPortEntity, BigInteger> {
    //<!--用户自定义代码开始-->

    /**
     * 根据环境名称和应用名称获取映射端口
     *
     * @param envName 环境名称
     * @param appName 应用名称
     * @return int
     */
    List<Integer> getMappingPort(String envName, String appName);

    /**
     * 据环境Id,自动生成部署表中的应用的外部端口
     *
     * @param envId 环境Id
     */
    void generateMappingPort(BigInteger envId);

    /**
     * 获取环境应用服务相关信息
     *
     * @param envName
     * @param appName
     * @return
     */
    EnvAppServerInfoVo getEnvAppServerInfo(String envName, String appName);

    /**
     * 批量删除
     *
     * @param ids ids
     */
    void batchDeleteById(List<BigInteger> ids);

    /**
     * 据部署项Id,自动生成部署表中部署项的外部端口
     *
     * @param appEnvId 部署项Id
     */
    void generateAppMappingPort(BigInteger appEnvId);
    //<!--用户自定义代码结束-->
}
